Data has become an extremely important asset of enterprises. Consequently, an enterprise's data is regularly backed up or check pointed to ensure that it can be recovered back to some manageable point in time in the event of an unexpected failure.
Typically, during a backup operation the data associated with every file is backed up regardless of the type of file encountered during the backup operation. A hard linked file is data organized such that several file references each point to the same physical file data. Consequently, during a backup operation each time a hard linked file reference is encountered the link information is maintained and the physical data that the file reference points to is backed up. It is apparent that this is inefficient in terms of space and processing, since the identical physical data is being backed up multiple times during a single backup operation. Furthermore, this duplication of data can consume considerable amount of archive space and is not needed during data restore.
It may also be the case that during a backup operation the physical data associated with a hard linked file reference is modified by a newly created file reference, which occurs after the backup operation commences, but before the backup operation concludes. In such a situation, the conventional approach is to retain each file reference and each copy of the data; and during a restore each copy keeps writing over itself until the final restore reflects a most recent version of the physical data. However, this may not adequately reflect what user's desire. In other words, the change to the physical data by the subsequently added file reference may not be what is desired. Present techniques do not permit a user or administrator to decide what version of the physical data to restore for hard linked file references; rather during a restore operation the user or administrator gets the last backed up version of that data.
Thus, it is advantageous to provide improved techniques for data backups and restores.